基于python/c++开发notepad++的插件,pythonscript(一)

您所在的位置:网站首页 notepad 插件介绍 基于python/c++开发notepad++的插件,pythonscript(一)

基于python/c++开发notepad++的插件,pythonscript(一)

2024-07-09 16:45| 来源: 网络整理| 查看: 265

        PythonScript是Notepad++的一款插件,它可以在日常使用中辅助简化工作并拓展功能。通过使用Python脚本,你可以实现一些自动化的任务,如文件自动保存和选中单词翻译等。PythonScript插件本身是用C++和Boost.Python编译而成,因此学习和了解PythonScript可以提高我们在Python和C++应用方面的能力。

        对于初学者来说,PythonScript插件是一个很好的入门学习工具。它可以帮助你提升编程能力,学习编程技巧,并了解与Windows相关的编程知识。通过使用PythonScript插件,你可以在Notepad++中结合Python和C++进行开发,扩展编辑器的功能,进行自定义的编程和脚本操作。

notepad++简介

Notepad++是一个免费开源的文本编辑器,适用于Windows操作系统。它提供了比Windows自带的记事本更多的功能和特性,使其成为程序员和编码爱好者的首选工具之一。

notepad++插件

Notepad++支持插件来扩展其功能和增强用户的编辑体验。插件可以添加额外的功能、工具和集成,使Notepad++更适合特定的编程语言或任务。以下是一些常用的Notepad++插件:

NppExec:提供了一个强大的命令行窗口,可以运行和测试代码片段,执行自定义命令等。

Compare:用于比较两个文本文件或文件夹之间的差异,并高亮显示差异部分。

Emmet:扩展HTML和CSS编辑的功能,提供快速的代码编写和自动补全。

Explorer:添加一个文件资源管理器,可以在Notepad++界面中浏览和操作文件。

XML Tools:用于处理和验证XML文档的插件,支持格式化、转换、验证、压缩等操作。

JSON Viewer:可视化显示和编辑JSON数据,提供折叠、展开、格式化等功能。

Markdown Viewer:将Markdown格式的文本实时预览为HTML,方便在编辑器中查看和编辑Markdown文档。

FTP_synchronize:用于与远程FTP服务器同步文件的插件,支持上传、下载、删除文件等操作。

Plugin Manager:用于管理和安装Notepad++插件的插件,简化了插件的安装和更新过程。

这只是一小部分常见的Notepad++插件,还有很多其他插件可以根据个人需求进行安装和使用。可以通过Notepad++的官方网站或第三方插件库来获取更多插件,并根据自己的需要选择适合的插件来增强Notepad++的功能。

PythonScript插件

PythonScript是Notepad++的一个插件,它允许在Notepad++中使用Python脚本来进行自定义编程和扩展功能。通过PythonScript插件,你可以编写和运行Python脚本,与Notepad++进行交互,并使用Python的强大功能来增强编辑器的功能。

以下是PythonScript插件的一些主要特点和功能:

Python脚本编写:可以使用Python编写脚本,在Notepad++中执行代码。你可以编写自定义的功能、自动化任务、批量处理等。

脚本扩展功能:可以通过Python编写插件,向Notepad++添加自定义功能和命令。这使得你可以根据自己的需求来扩展编辑器的功能,例如添加特定语言的语法高亮、自动完成或者其他定制功能。

与Notepad++交互:可以使用Python脚本与Notepad++进行交互,访问和修改编辑器的状态、文本内容以及运行编辑器的功能。这使得你可以根据需要对文本进行操作、自动化重复任务等。

脚本管理:提供了一个简单的界面,可以管理和加载Python脚本,包括加载、卸载脚本。

使用PythonScript插件,你可以将Notepad++打造成一个功能强大的Python集成开发环境,并根据自己的需求来灵活定制编辑器的功能。PythonScript插件自带有相关的文档和示例,可以帮助我们学习如何使用和扩展它。

安装工具

学习的前提是我们需要先安装用到的工具,包含notepad++和PythonScript插件,如下是工具的github地址

notepad++ github地址:GitHub - notepad-plus-plus/notepad-plus-plus: Notepad++ official repository

我们到release中下载相应32位安装包,目前最新版本是8.5.4,选 npp.8.5.4.Installer.exe 并下载

PythonScript github地址: GitHub - bruderstein/PythonScript: Python Script plugin for Notepad++

我们到release中下载相应32位安装包,选第一个 PythonScript_3.0.16.0.msi 并下载

1. 笔者使用windows 10,两个安装包已下载到桌面,先安装notepad++,双击安装包,然后一路默认,可以看到默认安装在C盘 ( C:Program Files (x86)\Notepad++),并且选择创建桌面快捷方式

 

2. 然后双击pythonscript安装包,同意协议并一路默认,可以看到插件默认安装路径也是在C:Program Files (x86)\Notepad++

3. 安装完成后,可以进到notepad++安装目录,看到pythonscript已经在notepad++的plugins目录中

 4. 此时打开Notepad++提示报错,选否按钮(不要选是),退出提示

 5. 进到PythonScript目录中,复制python310.dll到C:Program Files (x86)\Notepad++目录下,

6. python310.dll还依赖vcruntime140.dll,可以在计算机搜索vcruntime140.dll,复制到C:\Program Files (x86)\Notepad++目录下,如果搜索不到,可以到网上搜索下载.

 7. 最后notepad++和PythonScript都安装完成,打开notepad++,可以在"插件"菜单下看到"Python Script"子菜单.可以开始愉快的开发python脚本了.

开始学习Python开发

        在安装了PythonScript插件后,你可以在Notepad++的菜单栏中找到"Python Script"选项。点击该选项,会弹出一个子菜单,其中包含"Show Console"、"Scripts"和"Context-Help"等选项。

"Show Console"选项可以打开PythonScript的控制台窗口,用于显示脚本的输出和错误信息。可以看到默认输出显示了一些信息,包含python的版本(3.10.11)/tag/32 bit,以及启动花费的时间(235ms). "Scripts"选项可以(需要键盘同时按住Ctrl键)打开PythonScript的示例脚本,其中包含了一些示例脚本代码,可以作为参考和学习的素材。"Context-Help"选项可以打开PythonScript的官方文档,其中包含了详细的API文档和使用示例,可以帮助我们理解和学习PythonScript的各种功能和用法。

 通过查阅PythonScript的文档和示例,我们可以了解插件的各种功能,学习如何编写脚本来实现我们的需求,并扩展Notepad++的功能。文档和示例提供了丰富的参考资料,可以进一步提高我们在PythonScript插件中的应用能力和编程技巧。记得在学习和使用PythonScript时,要及时保存你的工作,以免因为脚本执行错误或其他原因造成数据丢失。下面开发我们的第一个功能:自动保存文档.

自动保存文档

Notepad++默认不具备自动保存功能,当我们编辑了文档,每次都需要手动点击保存,或者使用Ctrl+S快捷键来保存文档,否者编辑器会出现显眼的红色图标,提示我们文档未保存.

 我们可以使用"AutoSave" 插件,它可以每隔一段时间自动保存你的文档。可以在菜单栏中选择 "插件" -> "插件管理",然后在 "可用" 标签下找到 "AutoSave" 插件进行安装和配置。

 但我们有了PythonScript,不必为了自动保存文件而专门下载一个插件,我们可以使用PythonScript来完成自动保存文件这一功能.操作步骤如下.

1.打开"插件"菜单,"Python Script"->"Scripts"->"startup",同时按住Ctrl按键,点击"startup"选项

可以看到编辑器打开了一个startup.py的python脚本

 2. 我们试着在脚本最后加上如下python代码,记得保存脚本

print("hello world")

 关闭notepad++,再重新打开,然后打开"插件"菜单,"Python Script"->"Show Console",可以发现控制台多了一个hello world打印,说明我们的python代码起作用了.

 3.点击"Configuration...",在弹出的窗口中,将Initialisation的选项由"LAZY"改为"ATSTARTUP",后续脚本随着Notepad++打开会自动运行

 4.接下来注释掉print("hello world"),加上下面这段脚本并保存,

# print("hello world") import threading,os class AutoSave(): def __init__(self): self.count = 0 def task_run(self): self.count += 1 print(self.count) path = notepad.getCurrentFilename() if os.path.exists(path): notepad.save() threading.Timer(1, self.task_run).start() threading.Timer(1, AutoSave().task_run).start()

这段代码实现自动保存的功能。它使用了 threading 模块来创建一个定时器,每隔 1 秒钟执行一次 task_run 方法。在 task_run 方法中,首先增加计数器 count 的值,并打印出来(如不需要,可以注释掉print语句)。然后,通过 notepad.getCurrentFilename() 获取当前文档的路径,并使用 os.path.exists() 判断该路径是否存在。如果存在,就调用 notepad.save() 来保存文档。最后,使用 threading.Timer(1, self.task_run).start() 来设置下一次自动保存的计时器。

 重启notepad++,并打开PythonScript控制台,可以看到控制台每隔一秒打印出一个数字,打印出1,2,3,4...,

在修改文档后文档图标由红变蓝,说明自动保存生效了.效果如下.

 

自此,我们初步入门了Python Script开发Python脚本,后续可以根据需要开发更多脚本和功能,混合C++编程,来配合辅助notepad++编辑器的日常使用.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3